package com.liezh.builder.builder;

import com.liezh.builder.builder.product.Text;

import java.io.UnsupportedEncodingException;

/**
 * Builder：代表建造者的抽象基类（可以使用接口来代替）。
 * 它定义了构建 Product 的步骤，它的子类（或接口实现类）需要实现这些步骤。
 * 同时，它还需要包含一个用来返回最终对象的方法 getProduct()。
 */
public abstract class TextConverter {

    public abstract Text convertCharacter(String charset);

    public abstract Text convertFontChange(String font);

    public abstract Text convertParagraph();

    protected String changeCharset(String str, String newCharset)
            throws UnsupportedEncodingException {
        if (str != null) {
            //用默认字符编码解码字符串。
            byte[] bs = str.getBytes();
            //用新的字符编码生成字符串
            return new String(bs, newCharset);
        }
        return null;
    }

}
